package com.zc.emos.wx.service;

import com.zc.emos.wx.db.pojo.MessageEntity;
import com.zc.emos.wx.db.pojo.MessageRefEntity;

import java.util.HashMap;
import java.util.List;

/**
 * @author 曾川
 * @version 1.0.0
 * @ClassName MessageService.java
 * @Description 消息模块业务层
 * @createTime 2022年01月19日 11:10:00
 */
public interface MessageService {

  /*  *//**
     * 向 MessageEntity 集合插入数据
     * @param message
     * @return
     *//*
    String insertMessage(MessageEntity message);

    *//**
     * 向 message_ref 集合插入数据
     * @param messageRef
     * @return
     *//*
    String insertRef(MessageRefEntity messageRef);

    *//**
     * 查询未读的消息数
     * @param userId
     * @return
     *//*
    long searchUnreadCount(int userId);

    *//**
     * 查询接收到的最新消息数量
     * @param userId
     * @return
     *//*
    long searchLastCount(int userId);

    *//**
     * 查询分页数据
     * @param userId
     * @param start
     * @param length
     * @return
     *//*
    List<HashMap> searchMessageByPage(int userId, long start, int length);

    *//**
     * 根据 id 查询消息
     * @param id
     * @return
     *//*
    HashMap searchMessageById(String id);

    *//**
     * 未读 -> 已读
     * @param id
     * @return
     *//*
    long updateUnreadMessage(String id);

    *//**
     * 根据 id 删除 MessageRef
     * @param id
     * @return
     *//*
    long deleteMessageRefById(String id);

    *//**
     * 删除某个用户的所有消息
     * @param userId
     * @return
     *//*
    long deleteUserMessageRef(int userId);*/

    public String insertMessage(MessageEntity entity);
    public List<HashMap> searchMessageByPage(int userId, long start, int length);
    public HashMap searchMessageById(String id);
    public String insertRef(MessageRefEntity entity);
    public long searchUnreadCount(int userId);
    public long searchLastCount(int userId);
    public long updateUnreadMessage(String id);
    public long deleteMessageRefById(String id);
    public long deleteUserMessageRef(int userId);
}
